Spring Bean的生命周期

spring提供了IOC容器功能,用于管理Web应用里的bean对象,通过BeanFactory对象进行bean的创建和管理,
对于bean对象的声明周期和创建方式,BeanFactory指定了一套标准。

创建时标准

BeanFactory实现类应该尽可能支持标准的Bean生命周期接口。整套初始化方法及其标准顺序是:

  • 设置Bean对象的名称
  • 设置Bean对象的类加载器
  • 设置Bean对象的BeanFactory创建工厂
  • 设置Bean对象的运行环境
  • 设置Bean对象的配置文件解析器
  • 设置Bean对象的资源加载器
  • 设置Web应用事件发布器
  • 设置消息解析器(针对参数和国际化功能)
  • 设置Web应用上下文
  • 设置Servlet上下文
  • 进行Bean对象前置增强
  • 实例化Bean对象
  • 用户自定义的实例化方法
  • 进行Bean对象后置增强

关闭时标准

关闭bean工厂时,将应用以下生命周期方法:

  • 在销毁前添加后置增强
  • 销毁bean对象
  • 执行自定义的销毁方法